package fiuba.algo3.mapa;

import org.jdom2.Element;

public class PosicionMapa {
	int coordenadaX;
	int coordenadaY;

	PosicionMapa(int x, int y) {
		this.coordenadaX = x;
		this.coordenadaY = y;
	}

	public int getCoordenadaX() {
		return this.coordenadaX;
	}

	public int getCoordenadaY() {
		return this.coordenadaY;
	}

	public int calcularMinimoCaminoEnCuadrasHasta(PosicionMapa unPunto) {
		int diferenciaEjeX = Math.abs(this.coordenadaX - unPunto.getCoordenadaX());
		int diferenciaEjeY = Math.abs(this.coordenadaY - unPunto.getCoordenadaY());
		int distanciaTotal = (diferenciaEjeX + diferenciaEjeY);
		return distanciaTotal;
	}
	
	public Element serializar(){
		Element nodoPosicionEnMapa = new Element("PosicionEnMapa");
		nodoPosicionEnMapa.setAttribute("coordenadaX", Integer.toString(this.coordenadaX));
		nodoPosicionEnMapa.setAttribute("coordenadaY", Integer.toString(this.coordenadaY));
		return nodoPosicionEnMapa;
	}
	
	public PosicionMapa(Element nodoPosicionMapa){
		this.coordenadaX = Integer.parseInt(nodoPosicionMapa.getAttributeValue("coordenadaX"));
		this.coordenadaY = Integer.parseInt(nodoPosicionMapa.getAttributeValue("coordenadaY"));		
	}

}
